python编程实战(一):用户登录模块,用户注册、登录、信息管理、功能设计与实现!

您所在的位置:网站首页 学生登录入口注册 用户登录不了什么原因 python编程实战(一):用户登录模块,用户注册、登录、信息管理、功能设计与实现!

python编程实战(一):用户登录模块,用户注册、登录、信息管理、功能设计与实现!

2024-07-10 23:35| 来源: 网络整理| 查看: 265

用户登录模块 前言&思维导图1.判断首次启动2.用户注册3、管理员信息&登录4.用户登录5.完整代码

前言&思维导图

用户登录模块是最基本的模块之一,主要设计的有当前用户存在判断,用户注册,用户登录名和密码的保存,用户信息输出等等;

在这里插入图片描述

1.判断首次启动

通过判断flag.txt是否存在,判断是不是首次启动;

这是一种简单而常见的手法,常在程序初始化的时候会有这样的需求。

判断一个特定文件存在与否,或者判断配置文件的值是否改变;

就能够判断出来当前是不是首次启动,是的话,初始化程序,不是则不变等等

(这是后续了,根据需求来,记住这个小方法即可!)

这里是判断flag.txt是否存在

2.用户注册

用户信息单独文件保存

# 用户注册 用户信息单独文件保存 def user_register(): user_id = input('输入账户id:') user_pwd = input('输入用户密码:') user_name = input('输入用户昵称:') user = {'u_id': user_id, 'u_pwd': user_pwd, 'u_name': user_name} user_path = "./users/" + user_id # 新建文件夹保存信息 file_user = open(user_path, 'w') file_user.write(str(user)) file_user.close()

在文件中保存的信息如下: 在这里插入图片描述

3、管理员信息&登录

管理员身份是写死的 名称 root 密码 123456

身份信息同样是新建一个文件,保存 在这里插入图片描述

# 初始化管理员 def init(): if os.path.exists('users') == False: file = open('u_root.txt', 'w') root = {'rnum': 'root', 'rpwd': "123456"} file.write(str(root)) file.close() os.mkdir('users')

管理员登录;

# 管理员登陆 def root_login(): while True: print('****管理员登陆****') root_number = input('请输入管理员账户名:') root_password = input('请输入管理员密码:') file_root = open('u_root.txt', 'r') # 只读打开文件 root = eval(file_root.read()) # 读取账户信息 if root_number == root['rnum'] and root_password == root['rpwd']: print('管理员登陆成功!') break else: print('很遗憾!验证失败') 4.用户登录

选择是注册还是登录;

注册和 上述2 一样

登录和管理员登录类似,匹配信息就好了

# 普通用户登录 def user_login(): while True: print('****普通用户登录****') user_id = input('请输入账户名') user_pwd = input('请输入密码:') user_list = os.listdir('./users') # 遍历元组,判断user_id是否在元组中 flag = 0 for user in user_list: if user == user_id: flag = 1 print('登录中····') # 打开文件 file_name = './users/' + user_id file_user = open(file_name) # 获取文件内容 user_info = eval(file_user.read()) if user_pwd == user_info['u_pwd']: print('登录成功!') # 此处根据需求,可以跳转到登陆成功之后的操作 break if flag == 1: break elif flag == 0: print('您并没有注册!请您先注册用户') break

在这里插入图片描述

users文件夹下,就会新增 qqqqqq 用户的信息了! 在这里插入图片描述

在这里插入图片描述

5.完整代码 # 文件存储管理信息 import os # 判断是否首次使用系统 def is_first_use(): if os.path.exists('flag.txt') == False: print('首次启动') flag = open('flag.txt', 'w+') flag.write('1') flag.close() # 关闭文件 init() # 初始化资源 print_login_menu() # 打印登录菜单 user_select() # 选择用户 else: flag = open('flag.txt', 'r') word = flag.read() if len(word) == 1: init() # 初始化资源 print_login_menu() # 打印登录菜单 user_select() # 选择用户 # 初始化管理员 def init(): if os.path.exists('users') == False: file = open('u_root.txt', 'w') # 创建并打开管理员账户文件 root = {'rnum': 'root', 'rpwd': "123456"} file.write(str(root)) # 写入管理员信息 file.close() # 关闭管理员账户文件 os.mkdir('users') # 创建普通用户文件夹 # 打印登录菜单 def print_login_menu(): print('----用户登录----') print('1-管理员登陆') print('2-普通用户登陆') print('--------------') print('请选择您的登陆身份') # 用户选择 def user_select(): while True: user_type_select = input('请选择用户类型') if user_type_select == '1': # 管理员登陆验证 root_login() break elif user_type_select == '2': # 普通用户 while True: select = input('是否需要注册?(y/n):') if select == 'y' or select == 'Y': print('----用户注册----') user_register() # 用户注册 break elif select == 'n' or select == 'N': print('----用户登录----') break else: print('输入有误,请重新选择') user_login() # 用户登录 break else: print('输入有误,请重新选择') # 管理员登陆 def root_login(): while True: print('****管理员登陆****') root_number = input('请输入管理员账户名:') root_password = input('请输入管理员密码:') file_root = open('u_root.txt', 'r') # 只读打开文件 root = eval(file_root.read()) # 读取账户信息 # 信息匹配 if root_number == root['rnum'] and root_password == root['rpwd']: print('管理员登陆成功!') break else: print('很遗憾!验证失败') # 用户注册 用户信息单独文件保存 def user_register(): user_id = input('输入账户id:') user_pwd = input('输入用户密码:') user_name = input('输入用户昵称:') user = {'u_id': user_id, 'u_pwd': user_pwd, 'u_name': user_name} user_path = "./users/" + user_id # 新建文件夹保存信息 file_user = open(user_path, 'w') file_user.write(str(user)) file_user.close() # 普通用户登录 def user_login(): while True: print('****普通用户登录****') user_id = input('请输入账户名') user_pwd = input('请输入密码:') user_list = os.listdir('./users') # 遍历元组,判断user_id是否在元组中 flag = 0 for user in user_list: if user == user_id: flag = 1 print('登录中····') # 打开文件 file_name = './users/' + user_id file_user = open(file_name) # 获取文件内容 user_info = eval(file_user.read()) if user_pwd == user_info['u_pwd']: print('登录成功!') # 此处根据需求,可以跳转到登陆成功之后的操作 break if flag == 1: break elif flag == 0: print('您并没有注册!请您先注册用户') break if __name__ == '__main__': is_first_use()


【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3